package Extends.DuoTai.test2;



public class Test2 {
    public static void main(String[] args) {
        Animal a=new Dog();
        Dog d=(Dog)a;//强转，以便于a可以调用Dog中的方法。t通过这种办法可以接受子类所有的数据
        a.show();//可以成功调用Dog中的方法。
        //利用多态调用成员变量时，编译看左边，运行也看左边。
        //左边Animal a中调用的是Animal 中的数值。如果为 Dog d=new Dog():即为Dog中的数值。
        System.out.println(a.name);//运行的是Animal中的name;
    }
}
//判断是否是同一类型,如果是则将a强转为Dog类型，转换之后变量名为d;
//如果不是，则不强转，结果是输出为false;
// if(a  instanceof   Dog){
//  Dog d=(Dog) a;
// d.lookHome;}
// if(a instanceof Dog d){
  //d.lookHome;}


class Animal{
    String name="动物";
    public void show() {
        System.out.println("Animal------show方方达");
    }
}
class Dog extends Animal{
    String name="狗";
    public void show(){
        System.out.println("Dog------show方法");
    }
}
